package com.imcoke.abchat.web.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @Author ccoke
 * @Description
 * @Date: 11:10 2018-01-08
 */
@Controller
@RequestMapping("/page")
public class PageController {

    @GetMapping("/login")
    public String getLogin(){
        return "view/login";
    }

    @GetMapping("/register")
    public String getRegister(){
        return "view/register";
    }

    @GetMapping("/forget")
    public String getForget(){
        return "view/password_forget";
    }

    @GetMapping("/password/reset")
    public String getPasswordReset(@ModelAttribute("token") String token, Model model){
        model.addAttribute("token", token);
        return "view/password_reset";
    }

    @GetMapping("/message")
    public String getMessage(@ModelAttribute("message") String message, Model model){
        model.addAttribute("message", message);
        return "view/message";
    }

    @GetMapping("/message/register")
    public String getRegiserMessage(Model model){
        model.addAttribute("message","<p>我们已经向您的电子邮箱发送了验证邮件，以确保邮箱是您本人在使用，顺利的话它将五分钟以内到达您的电子邮箱。</p>\n" +
                "            <p>如果您已成功完成验证，便可以<a href=\"/page/login\">开始</a>您的ABChat之旅。</p>\n" +
                "            <p>如果长时间没收到邮件，请确保您的邮箱已填写正确并再次进行<a href=\"/page/register\">注册</a>。</p>");
        return "view/message";
    }

    @GetMapping("/message/forget")
    public String getForgetMessage(Model model){
        model.addAttribute("message","<p>我们已经向您的电子邮箱发送了<b>重置密码</b>邮件，顺利的话它将五分钟以内到达您的电子邮箱。</p>\n" +
                "            <p>如果您已成功完成密码修改，便可以<a href=\"/page/login\">登录</a>您的ABChat账号。</p>\n" +
                "            <p>如果长时间没收到邮件，请确保您的邮箱已填写正确并再次进行<a href=\"/page/forget\">找回密码</a>。</p>");
        return "view/message";
    }

    @GetMapping("/message/reset")
    public String getPasswordResetMessage(@RequestParam(value = "message",required = true) String message, Model model){
        StringBuilder sb = new StringBuilder();
        if ("".equals(message)){
            sb.append("<p>恭喜您，重置密码成功，请保管好您的密码，别再弄丢咯~</p>\n" +
                    "            <p>现在，您可以<a href=\"/page/login\">登录</a>ABChat与您的好友畅谈心扉啦！</p>");
        }else {
            sb.append("<p>抱歉，重置密码失败。</p>\n" +
                    "            <p>失败原因：<b>" + message + "</b></p>\n" +
                    "            <p>您可以<a href=\"/page/login\">登录</a>或<a href=\"/page/forget\">找回密码</a></p>");
        }
        model.addAttribute("message",sb.toString());
        return "view/message";
    }

}
